package com.eshop.modules.product.service;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.product.service.dto.StoreProductRelationDto;
import com.eshop.domain.PageResult;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.product.service.dto.StoreProductRelationQueryCriteria;
import com.eshop.modules.product.vo.StoreProductRelationQueryVo;
import java.util.List;
import com.eshop.modules.product.domain.StoreProductRelation;
import com.eshop.common.service.BaseService;

public interface StoreProductRelationService extends BaseService<StoreProductRelation>
{
    Boolean isProductRelation(final long productId, final long uid);
    
    void addRroductRelation(final long productId, final long uid, final String category);
    
    void delRroductRelation(final long productId, final long uid, final String category);
    
    List<StoreProductRelationQueryVo> userCollectProduct(final int page, final int limit, final Long uid, final String type);
    
    PageResult<StoreProductRelationDto> queryAll(final StoreProductRelationQueryCriteria criteria, final Pageable pageable);
    
    List<StoreProductRelation> queryAll(final StoreProductRelationQueryCriteria criteria);
    
    void download(final List<StoreProductRelationDto> all, final HttpServletResponse response) throws IOException;
}
